package com.wyf.controller;

import com.wyf.pojo.User;
import org.springframework.http.HttpRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * 拦截器示例
 *   非法访问拦截
 *     用户登录（需要登录，无需拦截）
 *     用户添加（需要登录，需要拦截判断）
 *     用户修改（需要登录，需要拦截判断）
 *     用户删除（需要登录，需要拦截判断）
 */
@Controller
@RequestMapping("/user")
public class UserController {
    /**
     * 用户登录
     * @param request
     * @return
     */
    @RequestMapping("/login")
    public String login(HttpServletRequest request, HttpSession session) {
        // 设置请求域
        request.setAttribute("msg", "用户登录。。。");
        // 如果用户执行了登录状态，则设置用户信息到session作用域中（如果session作用域中的信息不为空，则表示登录状态，否则为未登录状态）
        User user = new User(1, "wyf");
        session.setAttribute("user", user);

        return "success";
    }

    /**
     * 用户添加
     * @param request
     * @return
     */
    @RequestMapping("/add")
    public String add(HttpServletRequest request) {
        // 设置请求域
        request.setAttribute("msg", "用户添加。。。");
        return "success";
    }

    /**
     * 用户修改
     * @param request
     * @return
     */
    @RequestMapping("/update")
    public String update(HttpServletRequest request) {
        // 设置请求域
        request.setAttribute("msg", "用户修改。。。");
        return "success";
    }

    /**
     * 用户删除
     * @param request
     * @return
     */
    @RequestMapping("/delete")
    public String delete(HttpServletRequest request) {
        // 设置请求域
        request.setAttribute("msg", "用户删除。。。");
        return "success";
    }
}
